//5.编写一个程序，检查是否可以通过由它的一个子串重复多次构成。

#include <stdio.h>
#include <string.h>

int checkStrIsConstedBySubstr(char *str)
{
    int len = strlen(str);
    for (int idx = 1; idx <= len / 2; idx++)
    {
        if (len % idx == 0)
        {
            int num = len / idx;
            int jdx;
            for (jdx = 1; jdx <= num; jdx++)
            {
                if (strncmp(str, str + jdx * idx, idx) != 0)
                {
                    break;
                }
            }
            if (jdx == num)
            {
                return 1;
            }
        }
    }
    return 0;
}

int main()
{
    char str[] = "hmqhmqhmq";
    if (checkStrIsConstedBySubstr(str))
    {
        printf("%s可以由它的一个子串重复多次构成\n", str);
    }
    else
    {
        printf("%s不可以由它的一个子串重复多次构成\n", str);
    }

    return 0;

}